Kibana 4 Beta 1 Released!なので使ってみた
はじめに
10月6日にKibana 4 Beta 1がリリースされました!
そしてもう1.1がリリースされています(kibana 4 beta 1.1: pointy needles blunted)
Kibana 3のセットアップについてはELBのアクセスログをfluent-plugin-elb-logを使ってKibanaで表示するあたりをご覧頂くとして...Kibana 3はHTML+CSS+JavaScriptで実装されているため、Webサーバのコンテンツディレクトリに展開して動作させる仕組みでした。Kibana 4ではKibana 2の頃のようにWebサーバ自体を内包した仕組みになっており、ここがKibana 3からの大きな違いです。もちろんビジュアル的にも機能的にも大きく変わっています。
と、いうことで。とりあえず使ってみました!
やってみる
サーバOSにはAmazon Linux AMI 2014.09を使いました。
Elasticsearchのセットアップ
Kibana 4.0.0-BETAのREADME.mdに「Elasticsearch version 1.4.0 or later」と書いてある通り、Kibana 4 Betaを使うためにはElasticsearchもv1.4以降にする必要がありますので、1.4.0.beta1のページからelasticsearch-1.4.0.beta1のrpmファイルをダウンロードしrpmコマンドでインストールします。
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.0.Beta1.noarch.rpm $ sudo rpm -ivh elasticsearch-1.4.0.Beta1.noarch.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:elasticsearch-1.4.0.Beta1-1 ################################# [100%]
そしてElasticsearchを起動します。
$ sudo /sbin/chkconfig --add elasticsearch $ sudo service elasticsearch start
サンプルデータを投入する
とりあえずすぐ使ってみたいので適当なサンプルデータをElasticsearchに投入します。今回はElasticsearchの10 Minute Walk Throughというページで公開されているサンプルデータ(shakespeare.json)を投入しました。
さくっとサンプルデータ用のindexを作成します。
$ curl -XPUT http://localhost:9200/shakespeare -d ' { "mappings" : { "_default_" : { "properties" : { "speaker" : {"type": "string", "index" : "not_analyzed" }, "play_name" : {"type": "string", "index" : "not_analyzed" }, "line_id" : { "type" : "integer" }, "speech_number" : { "type" : "integer" } } } } }';
そしてダウンロードしてきたサンプルデータをPUTします。
$ curl -XPUT localhost:9200/_bulk --data-binary @shakespeare.json
これでデータの準備は完了です。
Kibana 4 Betaのセットアップ
KibanaのInstallationページからKibana 4 Betaのtar.gzファイルをダウンロードし展開します。
$ wget https://download.elasticsearch.org/Kibana/Kibana/Kibana-4.0.0-BETA1.1.tar.gz $ tar xvzf Kibana-4.0.0-BETA1.1.tar.gz Kibana-4.0.0-BETA1.1/ Kibana-4.0.0-BETA1.1/bin/ Kibana-4.0.0-BETA1.1/config/ Kibana-4.0.0-BETA1.1/lib/ Kibana-4.0.0-BETA1.1/LICENSE.txt Kibana-4.0.0-BETA1.1/README.txt Kibana-4.0.0-BETA1.1/lib/Kibana.jar Kibana-4.0.0-BETA1.1/config/Kibana.yml Kibana-4.0.0-BETA1.1/bin/Kibana Kibana-4.0.0-BETA1.1/bin/Kibana.bat
Kibana 4の設定はconfig/Kibana.ymlを編集して行います。今回は特に設定の変更はしませんが、設定ファイルは以下のような内容になっています。
$ cd Kibana-4.0.0-BETA1.1 $ cat config/Kibana.yml # Kibana is served by a backend server. This controls which port to use. port: 5601 # The Elasticsearch instance to use for all your queries elasticsearch: "http://localhost:9200" # Kibana uses an index in Elasticsearch to store saved searches, visualizations # and dashboards. It will create an new index if it doesn't already exist. KibanaIndex: "Kibana-int" # Applications loaded and included into Kibana. Use the settings below to # customize the applications and thier names. apps: - { id: "discover", name: "Discover" } - { id: "visualize", name: "Visualize" } - { id: "dashboard", name: "Dashboard" } - { id: "settings", name: "Settings" } # The default application to laad. defaultAppId: "discover"
Kibana 4 Betaを使ってみる
Kibana 4を展開したディレクトリのbin/Kibanaコマンドを実行します。
$ sudo ./bin/Kibana The Kibana Backend is starting up... be patient {"@timestamp":"2014-10-17T17:00:08+09:00","level":"INFO","name":"Kibana","message":"Kibana server started on tcp://0.0.0.0:5601 in production mode."}
Kibanaをセットアップしたサーバの5601番ポートにWebブラウザで接続(http://KibanaサーバのEIP:5601/)してみます。
すると以下のようなインデックス設定画面が表示されるので、データに合わせて設定を行います。今回のテストデータは時間軸のデータを持たないため、以下のように[Index contains time-based events]のチェックを外しています。設定後[Create]ボタンをクリックします。
以下のように対象インデックスのマッピング情報が表示されます。
左上の[Discover]をクリックすると、インデックスに含まれるデータが表示されます。
左側のFields欄から表示したいfieldを選択すると、簡易的な集計が表示されます。ここで[Visualize]をクリックしてみます。
すると[Visualize]画面に遷移し、該当Fieldを集計したグラフが表示されます。
それではこのVisualizeを保存してみましょう。右上の保存ボタンをクリックするとTitle入力欄が表示されるので、適当に名前をつけて、[Save]ボタンをクリックして保存します。
ところでこれは余談ですが、Saveボタンをフロッピーディスクのマークにする文化はいつまで続くのでしょうか?そろそろフロッピーディスクを見た事が無い人も多いのでは無いでしょうか...
閑話休題。
左上の[Dashboard]をクリックすると、ダッシュボード画面が表示されます。ここで先ほど保存したVisualizeをダッシュボードに追加したいと思います。右上の追加ボタンをクリックします。
するとVisualizeの選択画面が表示されます。先ほど保存したVisualizeが表示されるのでクリックします。
するとダッシュボードにVisualizeが追加されます。
実に簡単ですね!
さいごに
今回の作業はt2.microインスタンスで行っていましたが、
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f4d0a464000, 12288, 0) failed; error='メモリを確保できません' (errno=12)
というエラーが出力されてKibanaが落ちました。microインスタンスで使うのは少々厳しいようです。
それにしても、Kibana 3で黒ベースだった画面が白ベースになったからか、ずいぶん取っ付きやすくなった印象があります。正式リリースが楽しみですね!